javascript ハッシュを使う時は、できる限りコピーして利用せよ
ハッシュを代入で渡す時は、変数が渡されてるってことを覚えておく。
これを覚えておかないと、自分と意図しないデータの動きが起こってる場合がある。
ハッシュはコピーして渡すのが一番安全
これは配列(リスト)にも言えること。
code: OK.js
const initialData = {
name: 'aaaa',
count: 1
}
function sample() {
let state = {...initialData}; //新しいデータを作ってる
state.name = 'bbbb';
console.log(initialData);
}
// console
// { name: 'aaaa', count: 1 }
code: NG.js
const initialData = {
name: 'aaaa',
count: 1
}
function sample() {
let state = initialData;
state.name = 'bbbb';
console.log(initialData);
}
// console
// { name: 'bbbb', count: 1 }